package com.twb.system.entity.importExport.vo;

import java.io.Serializable;
import java.time.LocalDateTime;

import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.twb.core.util.DateUtil;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * @ClassName SaveResultInfoVo
 * @Description 异步导入记录表结果信息
 * 
 * @author DHL
 * @date 2021-08-09 09:39:11
 */
@ApiModel(value = "SaveResultInfoVo", description = "异步导入记录表结果信息")
public class SaveImportResultInfoVo implements Serializable {

	private static final long serialVersionUID = 1L;
	
	/** 编号 */
	@ApiModelProperty(value = "编号")
	private String id;
	
	/** 附件名称 */
	@ApiModelProperty(value = "附件名称")
	private String name;
	
	/** 结果（1-执行中，2-执行完成） */
	@ApiModelProperty(value = "结果（1-执行中，2-执行完成）")
	private String result;
	
	
	/** 结果产生时间 */
	@ApiModelProperty(value = "结果产生时间")
	private LocalDateTime resultDate;
	
	/** 结果附件相对路径 */
	@ApiModelProperty(value = "结果附件相对路径")
	private String resultBasePath;
	
	/** 结果附件绝对路径 */
	@ApiModelProperty(value = "结果附件绝对路径")
	private String resultFilePath;
	
	/** 结果信息 */
	@ApiModelProperty(value = "结果信息")
	private String resultInfo;
	

	/** 读取Excel条数 */
	@ApiModelProperty(value = "读取Excel条数")
	private String readNum;

	/** 成功条数 */
	@ApiModelProperty(value = "成功条数")
	private String successNum;

	/** 失败条数 */
	@ApiModelProperty(value = "失败条数")
	private String failureNum;
	
	/**
     * 更新人用户名
     */
    @ApiModelProperty("更新人用户名")
    protected String updaterId;
    /**
     * 更新人名称
     */
    @ApiModelProperty("更新人名称")
    protected String updater;
    /**
     * 更新时间
     */
    @JsonFormat(pattern = DateUtil.DEFAULT_PATTERN)
    @ApiModelProperty(name="updateDate",value="更新时间",example="2019-06-22 00:00:00")
    protected LocalDateTime updateDate;
	
	

	/** 编号 */
	public String getId() {
		return id;
	}
	/** 编号 */
	public void setId(String id) {
		this.id = id;
	}

	/** 附件名称 */
	public String getName() {
		return name;
	}
	/** 附件名称 */
	public void setName(String name) {
		this.name = name;
	}

	/** 结果（1-执行中，2-执行完成） */
	public String getResult() {
		return result;
	}
	/** 结果（1-执行中，2-执行完成） */
	public void setResult(String result) {
		this.result = result;
	}
	
	/** 结果产生时间 */
	public LocalDateTime getResultDate() {
		return resultDate;
	}
	/** 结果产生时间 */
	public void setResultDate(LocalDateTime resultDate) {
		this.resultDate = resultDate;
	}
	
	
	/** 结果附件相对路径 */
	public String getResultBasePath() {
		return resultBasePath;
	}
	/** 结果附件相对路径 */
	public void setResultBasePath(String resultBasePath) {
		this.resultBasePath = resultBasePath;
	}
	
	
	/** 结果附件绝对路径 */
	public String getResultFilePath() {
		return resultFilePath;
	}
	/** 结果附件绝对路径 */
	public void setResultFilePath(String resultFilePath) {
		this.resultFilePath = resultFilePath;
	}

	/** 读取Excel条数 */
	public String getReadNum() {
		return readNum;
	}

	/** 读取Excel条数 */
	public void setReadNum(int readNum) {
		this.readNum = String.valueOf(readNum);
	}

	/** 成功条数 */
	public String getSuccessNum() {
		return successNum;
	}
	/** 成功条数 */
	public void setSuccessNum(int successNum) {
		this.successNum = String.valueOf(successNum);
	}

	/** 失败条数 */
	public String getFailureNum() {
		return failureNum;
	}
	/** 失败条数 */
	public void setFailureNum(int failureNum) {
		this.failureNum = String.valueOf(failureNum);
	}
	
	
	public String getUpdaterId() {
		return updaterId;
	}
	public void setUpdaterId(String updaterId) {
		this.updaterId = updaterId;
	}
	public String getUpdater() {
		return updater;
	}
	public void setUpdater(String updater) {
		this.updater = updater;
	}
	public LocalDateTime getUpdateDate() {
		return updateDate;
	}
	public void setUpdateDate(LocalDateTime updateDate) {
		this.updateDate = updateDate;
	}
	
	/** 结果信息 */
	public String getResultInfo() {
		JSONObject jsonObject = new JSONObject();
		jsonObject.put("readNum", getReadNum());
		jsonObject.put("successNum", getSuccessNum());
		jsonObject.put("failureNum", getFailureNum());
		
		return jsonObject.toJSONString();
	}
	/** 结果信息 */
	public void setResultInfo(String resultInfo) {
		this.resultInfo = resultInfo;
	}
}